function countLargestGroup(n) {
  // 用于记录每个数位和对应的数字数量
  const sumCount = {};

  // 计算1到n每个数字的数位和并统计
  for (let i = 1; i <= n; i++) {
    let sum = 0;
    let num = i;

    // 计算当前数字的数位和
    while (num > 0) {
      sum += num % 10; // 取最后一位
      num = Math.floor(num / 10); // 移除最后一位
    }

    // 更新统计结果
    sumCount[sum] = (sumCount[sum] || 0) + 1;
  }

  // 找出最大的组大小
  const counts = Object.values(sumCount);
  const maxSize = Math.max(...counts);

  // 统计有多少个组达到最大大小
  return counts.filter((count) => count === maxSize).length;
}

// 测试示例
console.log(countLargestGroup(13)); // 输出: 4
console.log(countLargestGroup(2)); // 输出: 2
